/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package puertocom;

import java.io.IOException;
import java.io.OutputStream;
import java.util.logging.Level;
import java.util.logging.Logger;

/**
 *
 * @author Marcelo
 */
public class Emisor {
    static OutputStream out = null;  
      
    public static void setWriterStream(OutputStream out) {  
        Emisor.out = out;  
    }
    
    public static void closeOutputStream()
    {
        if (out != null)
        {
            try {
                out.close();
            } catch (IOException ex) {
                Logger.getLogger(Emisor.class.getName()).log(Level.SEVERE, null, ex);
            }
            out = null;
        }
    }
    
    public static void sendMessage(String txt)
    {
        String msg = txt;
        msg = ImplProtocolo.getMessageFormat(msg);
        send(msg.getBytes());
    }
    public static void send(String txt)
    {
        send(txt.getBytes());
    }
    
    public static void send(int bytes)
    {
        if (out == null) return;
        try {  
            //System.out.println("> Enviando bytes...");  
            System.out.print(bytes + " ");
              
            // escribe los bytes pasados como parametro, al fluo de salida.

            out.write(bytes);
            out.flush();
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }
    
    public static void send(byte[] bytes, int inicial, int fin)
    {
        if (out == null) return;
        try {  
            //System.out.println("Enviando bytes...");  
              
            // escribe los bytes pasados como parametro, al fluo de salida.
            
            out.write(bytes, inicial, fin);
            out.flush();
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }
    public static void send(byte[] bytes) {  
        if (out == null) return;
        try {  
            System.out.println("Enviando: " + new String(bytes, 0, bytes.length));  
              
            // escribe los bytes pasados como parametro, al fluo de salida.
            out.write(bytes);
            out.flush();
        } catch (IOException e) {  
            e.printStackTrace();  
        }  
    }      
}
